docker搭建redis3.2官方集群 - CSDN博客

创建时间:2018/3/2 14:36
来源:http://blog.csdn.net/zeroctu/article/details/53380636


2016年11月28日 17:16:21 4443人阅读 评论(4) 收藏 举报
.
分类:
redis(1) docker(3)
.

版权声明:本文为博主原创文章,未经博主允许不得转载。

1.集群配置:
6个节点,一主一备,三个主节点,三个从节点

2.单节点redis配置
2.1 DockerFile文件:

FROM redis:3.2
MAINTAINER ylzhang

ENV REDIS_HOME /usr/local

RUN mkdir $REDIS_HOME/conf
WORKDIR $REDIS_HOME/conf

## 创建一个redis.conf文件,打开集群相关配置,默认端口不写的话为6379
RUN echo "cluster-enabled yes" > redis.conf
RUN echo "cluster-config-file nodes_6379.conf" >> redis.conf

## 初始化容器时启动redis实例
CMD ["redis-server","/usr/local/conf/redis.conf"]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

2.2 镜像创建

docker build -t ylzhang/redis53 . 
  • 1

2.3 创建redis容器:

docker run -d --name redis53 --net=host ylzhang/redis-cluster
  • 1

2.3.1 为了容易更改配置文件,我们也可以将redis的conf目录volumn出来,在宿主机器下创建conf文件,例如在宿主机的/usr/local/redis/conf下 新建redis.conf文件,那么相应的docker run命令就是:

docker run -d --name redis53 -v /usr/local/redis/conf/:/usr/local/conf --net=host ylzhang/redis-cluster
  • 1

2.4 检查redis实例运行:

docker ps
  • 1

可以看到docker容器的redis实例已经起来了,进入容器:

docker exec -it redis53 /bin/bash
  • 1

进入容器后:

redis-cli -p 6379
  • 1

出现命令行提示:127.0.0.1:6379>
大功告成!

3.创建6个redis实例
按照步骤2依次创建6个redis实例,注意:如果在一个宿主机上请更改redis.conf中的端口,不要端口冲突了。

4.集群create

4.1 下载redis.tar.gz,由于我宿主机下载不下来,所以选择本地下载放到宿主机上,放在与Dockerfile同级目录下,Dockerfile文件:

FROM ruby:2.2.5
MAINTAINER ylzhang

RUN gem install redis
ADD ./redis-3.2.5.tar.gz /usr/local
RUN cd /usr/local && ln -s redis-3.2.5 redis
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

4.2 创建ruby_redis镜像

docker build -t ylzhang/ruby_redis .
  • 1

4.3 创建ruby_redis容器

docker run -it ylzhang/ruby_redis /bin/bash
  • 1

4.4 创建集群
进入ruby_redis集群后

/usr/local/redis/src/redis-trib.rb create --replicas 1 \
10.0.0.52:6379 10.0.0.52:7379 10.0.0.53:6379 \
10.0.0.53:7379 10.0.0.54:6379 10.0.0.54:7379
  • 1
  • 2
  • 3
  • 4

会看到 “Can I set the above configuration” 输入yes,集群创建完成。

5.验证集群创建

进入其中一个节点:

docker exec -it redis53 /bin/bash
  • 1

输入:

redis-cli -c -p 6379
  • 1

输入:

cluster info
cluster nodes
  • 1
  • 2

显示集群信息,集群搭建成功!
插个数据看看:
结果显示